from typing import Protocol
from fastapi import UploadFile, File
from abc import ABC,abstractmethod
class IFileInterface(ABC):
    @abstractmethod
    async def get_file_list(self,user_id: str = None, kb_id: str = None,
                            keyword: str = None,
                            page: int = 1, page_size: int = 10
                            ) -> dict:...

    @abstractmethod
    async def delete_by_file_id(self,file_id: str)->bool:...

    @abstractmethod
    async def upload_file(self,knowbase_name: str, kb_id: str, file: UploadFile = File(...)):...



